package net.nandleon.AgenceVoyage.client.panier.itemPanier;

import net.nandleon.AgenceVoyage.client.event.EventBus;
import net.nandleon.AgenceVoyage.client.event.itemEvent.ItemPanierDeleteEvent;
import net.nandleon.AgenceVoyage.client.ressources.Ressources;
import net.nandleon.AgenceVoyage.shared.ElementPanier;

import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.uibinder.client.UiHandler;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Widget;

public class ItemPanier extends Composite{

	private static final Binder binder = GWT.create(Binder.class);

	interface Binder extends UiBinder<Widget, ItemPanier> {
	}

	static {
		Ressources.INSTANCE.uiItemPanierStyle().ensureInjected();
	}
	
	@UiField
	Button supprimerItem;
	
	
    @UiField
    Image miniatureItem;
    
    @UiField
    Label titreItem;
    
    @UiField
    Label descriptionItem;
    
    ElementPanier elementPanier;

	public ItemPanier(ElementPanier elementPanier) {
		initWidget(binder.createAndBindUi(this));
		
		this.elementPanier = elementPanier;
		
		miniatureItem.setUrl(elementPanier.getMiniature());
		miniatureItem.setSize("60px", "60px");
		titreItem.setText(elementPanier.getTitre());
		descriptionItem.setText(elementPanier.getDescription());
		
	}
	
	public ElementPanier getElementPanierAssocie(){
		return elementPanier;
	}
	
	@UiHandler("supprimerItem")
	void handleClickSupprimer(ClickEvent e) {
	
		ItemPanierDeleteEvent itemEvent = new ItemPanierDeleteEvent();
		itemEvent.setWidgetToDelete(this);
		
		EventBus.bus.fireEvent(itemEvent);
		

	}
	

}
